CASH: A C to Layout Compiler
ثبت نشده
چکیده
In this paper we present CASH, a Compiler for Application Specific Hardware. CASH performs high-level synthesis, taking as input ANSI C programs, generating structural Verilog as output. The goal of this paper is to describe the research contributions incorporated in CASH, which advance the techniques of high-level synthesis in several directions. From the outset we set the goal for CASH to support ANSI C programs in their original form, enabling software programmers to create hardware devices. Another goal for CASH is to be able to exploit the parallelism available in the C programs. The granularity of parallelism extracted by CASH is instruction-level parallelism (ILP). Techniques for extracting ILP have been a subject of intense research and implementation in the last 40 years in the compiler domain. ILP is effectively leveraged by the modern superscalar and VLIWmicroprocessors. CASH incorporates many techniques from traditional software compilers and uses them to increase the parallelism of the synthesized circuits. Some of these techniques have been used before in the context of high-level synthesis, but CASH combines them together in novel ways. The following are important research contributions present in CASH:
منابع مشابه
Structure Layout Optimizations in the Open64 Compiler: Design, Implementation and Measurements
A common performance problem faced by today's application programs is poor data locality. Real-world applications are often written to traverse data structures in a manner that results in data cache miss overhead. These data structures are often declared as structs in C and classes in C++. Compiler optimizations try to modify the layout of such data structures so that they are accessed in a mor...
متن کاملMulti-objective Optimization for Design of Single Row Layout in Flexible Manufacturing System with Scheduling Constraint:an Approach of Non- Traditional Optimization Techniques
Single row layout is one of the most usually used layout patterns in industries, particularly in flexible manufacturing systems. Here actual sequencing of machine and arrangement of parts, no doubt, have a great influence on the throughput of the flexible manufacturing system i.e., (F.M.S). This paper discusses the single row layout design in flexible manufacturing system (F.M.S). This paper fu...
متن کاملCompiling Application-Specific Hardware
In this paper we describe ASH, an architectural framework for implementing Application-Specific Hardware. ASH is based on automatic hardware synthesis from high-level languages. The generated circuits use only localized computation structures; in consequence, we expect these circuits to be fast, to use little power and to scale well with program complexity. We present in detail CASH, a scalable...
متن کاملDeclarative Composition of Stack Frames
When a compiler translates a procedure, it must lay out the procedure’s stack frame in a way that respects the calling convention. Many compilers respect the convention either by restricting the order in which slots can be allocated or by using different abstractions ad hoc for allocating in different regions of a frame. Such techniques cause the implementation of the layout to be spread over m...
متن کاملSpace- and Time-Efficient Object Layout for Multiple Inheritance
Traditional implementations of multiple inheritance bring about not only an overhead in terms of run time but also a significant increase in object space. For example, in a hierarchy of classes, the number of compiler generated fields in certain objects can be as large as quadratic in . The problem of efficient object layout is compounded by the need to support two different semantics of multip...
متن کامل